#include <typeinfo>
#include <stdio.h>

class Test {
public:
    int GetA() {
	return a;
    }

    class SubTest;
private:
    int a;
    int b;
};

class Test::SubTest {
public:
    static void print() {
	printf("Hello!\n");
    }

private:
    int c;
};

int main(int argc, char **argv) {
    Test test;
    Test *ptest = new Test();
    Test::SubTest subtest;
    printf("%s\n", typeid(test).name());
    printf("%s\n", typeid(ptest).name());
    printf("%s\n", typeid(subtest).name());
    return 0;
}
    
